package com.ai.test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import jcifs.smb.SmbFile;
import org.apache.poi.util.IOUtils;

public class SmbFileDemo {

    public static void main(String[] args) throws IOException {
        // 共享文件夹路径
        String smbUrl = "smb://192.168.1.233/aa/";
        SmbFile smbFile = new SmbFile(smbUrl);

        // 获取共享文件夹中的所有文件
        SmbFile[] files = smbFile.listFiles();

        // 遍历文件列表，下载所有图片文件
        for (SmbFile file : files) {
            if (file.getName().toLowerCase().endsWith(".jpg") ||
                    file.getName().toLowerCase().endsWith(".jpeg") ||
                    file.getName().toLowerCase().endsWith(".png")) {
                downloadFile(file);
            }
        }
    }

    private static void downloadFile(SmbFile smbFile) throws IOException {
        // 获取文件内容的InputStream
        InputStream in = smbFile.getInputStream();

        String localFolderPath = "F://javaDemoImage/";
        System.out.println(localFolderPath + smbFile.getName());

        // 创建本地文件对象
        File localFile = new File(localFolderPath + smbFile.getName());

        // 将文件内容写入本地文件
        FileOutputStream out = new FileOutputStream(localFile);
        IOUtils.copy(in, out);

        // 关闭流
        IOUtils.closeQuietly(out);
        IOUtils.closeQuietly(in);
    }
}
